1. Field of the Invention
The present invention relates to printing over the Internet. More specifically, the present invention relates to a print driver that renders print data into a printer definition language and packages the rendered print data for transport across the Internet.
2. Description of the Related Art
Submitting data over the Internet to a print shop for printing and submitting print data to a remote printer across the Internet have become increasingly popular. For instance, some computer users desire to submit print jobs over the Internet to a print shop to have the print job printed out. This may be the case where, for example, a computer user may not have a printer to print his work or, where he may have a printer, but it is not capable of producing the type of printout he wants. For instance, a user may have a black and white only printer but may want to print a color image, or he may want to print a large volume of printouts but does not want to expend his own printer and paper resources. In either case, one option available for the user is to submit the print job over the Internet to a print shop that has the capability of producing the desired printout.
One example of an Internet print shop is provided by Kinkos®. In a print shop approach such as Kinkos®, a user logs-on to the Kinkos® website and submits a print job so that it can be printed by the print shop. The file is first generated using an application (e.g. a word processing or spreadsheet) program.
After having saved the file in the application program, the user then activates a web browser application on his computer to access the Kinkos® website. In order to print over the Internet with the Kinkos® system, the user must first register with Kinkos® and provide identification information and payment information such as a credit card number. Alternatively, the user can register the first time he attempts to submit data for printing. To print a file, the user accesses the website and selects an option to submit a print job to Kinkos® for printing. The user is prompted to select the file he wishes to upload and is then prompted to select from the pricing and printing options provided by Kinkos®. Locating the file to be submitted is sometimes difficult, especially for users who are unfamiliar with the process of locating files stored in a computer. Once having selected the file and printing and pricing options, the web browser processes the file by encapsulating it in HTTP (Hypertext Transport Protocol) and transports it over the Internet to Kinkos®. After receiving the file, Kinkos® processes it using the appropriate application to print out the print job.
Currently, only Microsoft® Word, Microsoft® Excel, Microsoft® PowerPoint, Corel® WordPerfect, PostScript/EPS, Rich Text Format, Text File, Kinko's® File Prep KDF and Adobe Acrobat PDF formats are supported. Therefore, if the user creates a work in a format other than one of the foregoing, printing on the Kinkos® system is not available.
Therefore, printing using the Kinkos® system requires the user to activate an application (e.g. a web browser) other than the application in which the file was created in order to submit the print job for printing over the Internet by Kinkos®. Additionally, the print job is submitted to Kinkos® for processing in a format that requires Kinkos® to activate an application program that contains a print driver specific to a printer within the store, select the file and submit it for printing. Both steps, activating a web browser and activating an application at Kinkos®, require extra processing and make printing over the Internet cumbersome.
Another method of printing over the Internet is printing using the IPP (Internet Print Protocol). Some software programs are now being provided with IPP support. One example of such a software program is Microsoft® NT and Windows client/server. In order to print with IPP, a client application accesses the URL (Uniform Resource Locator) of a server that includes printers and print drivers. The client selects a printer from among those included at the server side and a print driver specific to the selected printer is installed on the client side. When a user wants to print over the Internet, the user selects a File/Print option within an application program which then activates the specific print driver. The print driver software processes the print data into a page description language supported by the specific printer and passes the data to the local spooler. The IPP client software then encapsulates the print data in HTTP and transfers the data to the URL of the server. Upon receiving the data, the IPP software on the server strips HTTP header information and passes the print data to the server side spooler for printing by the specific printer.
Thus, IPP provides a way for a user to submit a print job over the Internet from a print driver of an application program, but requires a second client software that supports IPP in order to submit the print job over the Internet.
Additionally, the print driver is specific for only one printer. If the user wants to submit a print job to a different printer, he must access the URL of the server supporting the different printer and install the print driver of that printer as well.
Therefore, what is needed is a print driver that is generic to all printer types, that converts print data into a printer definition language, and that can encapsulate the print data for transport across the Internet.